﻿using System.Collections.Generic;
using GigaSite.Domain.Entities;

namespace GigaSite.Domain.Interfaces.Repositories
{
    /// <summary>
    /// Абстрактный репозиторий услуг
    /// </summary>
    public interface IServicesRepository: IBaseRepository<Service>
    {
        /// <summary>
        /// Получает услуга, находящиеся в указанной категории
        /// </summary>
        /// <param name="category">Категория</param>
        /// <returns>Коллекция услуг</returns>
        IEnumerable<Service> GetServicesInCategory(Category category);

        /// <summary>
        /// Устанавливает категории, к которым относится услуга
        /// </summary>
        /// <param name="service">Услуга</param>
        /// <param name="categories">Категории</param>
        void SetServiceCategories(Service service, IEnumerable<Category> categories);
    }
}